home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu332 / 332doc.arc / 332BUGC2 < prev    next >
Text File  |  1989-12-19  |  58KB  |  1,721 lines

  1.                                                                       
  2.   DEBUG MONITOR USER'S MANUAL    MOTOROLA
  3.   3-1     M68332BUG
  4.  
  5.                                                                       
  6.   DEBUG MONITOR USER'S MANUAL    MOTOROLA
  7.   M68332BUG    3-1
  8.  
  9.  
  10. LO    Load S-Records From Host    LO
  11.  
  12.  
  13. 3.15  LOAD S-RECORDS FROM HOST
  14.  
  15.     LO [<PORT><DEL>][<ADDR>][;<X/-C/T>][=<text>]
  16.  
  17. Use the LO command to download a Motorola S-records format data file from a host 
  18. computer to the BCC.  The LO command accepts serial data from the host and loads it into 
  19. on-board memory.
  20.  
  21. The optional port number allows the user to specify the download port.  If this number is 
  22. omitted, the default is port 0.
  23.  
  24. The BCC default hardware configuration consists of one I/O port; P4 on the BCC or P9 on the 
  25. PFB.  This limits the user to one host computer running a terminal emulation program.  To 
  26. send S-records, the user must escape out of the terminal emulation program because the 
  27. host computer can not perform terminal emulation and send S-records at the same time.  
  28. When the host is not in terminal emulation mode, all status messages from 332Bug would be 
  29. lost.  Thus the user must press <CR> twice after re-entering the terminal emulation program 
  30. to signal 332Bug that status messages can now be sent.
  31.  
  32. The optional <ADDR> field allows the user to enter an offset address. This offset address is 
  33. added to the address contained in the address field of each record which causes the records 
  34. to be stored in memory at a different location.  The contents of the automatic offset register 
  35. are not added to the S-record addresses (see OF command).  If the address is in the range 
  36. $0 to $1F and the port number is omitted, enter a comma before the address to distinguish it 
  37. from a port number.
  38.  
  39. The optional text field, entered after the equal sign (=), is sent to the host before 332Bug 
  40. begins looking for S-records at the host port. This allows the user to send a download 
  41. command to the host device.  This text should NOT be delimited by quote marks.  The text 
  42. string begins immediately following the equal sign and terminates with the carriage return. If 
  43. the host is operating full duplex, the string is echoed back to the host port by the host and 
  44. appears on the user's terminal screen.
  45.  
  46. In order to accommodate host systems that echo all received characters, the above-
  47. mentioned text string is transmitted to and received from the host one character at a time.  
  48. After the entire command is sent to the host, LO looks for a line feed (LF) character from the 
  49. host, signifying the end of the echoed command.  No data records are processed until this LF 
  50. is received.  If the host system does not echo characters, LO continues looking for an LF 
  51. character before data records are processed.  In situations where the host system does not 
  52. echo characters, it is required that the first record transferred by the host system be a header 
  53. record.  The header record is not used, but the LF after the header record serves to break LO 
  54. out of the loop so data records are processed. 
  55.  
  56. LO    Load S-Records From Host    LO
  57.  
  58.  
  59. Other options:
  60.  
  61.     -C    -    Ignore checksum.  A checksum for the data contained within an S-record 
  62. is calculated as the S-record is read in through the port.  Normally this 
  63. calculated checksum is compared to the checksum contained within the 
  64. S-record.  If the compare fails, an error message is sent to the screen on 
  65. completion of the download.  If this option is selected, then the 
  66. comparison is not made.
  67.  
  68.     X    -    Echo.  As the S-records are read in at the host port, they are echoed to 
  69. the user's terminal.  Do not use this option when port 0 is specified.
  70.  
  71.     T    -    TRAP #15 code.  This option causes LO to set the target register D4 = 
  72. 'LO'x, with x = $0C ($4C4F200C).  The ASCII string 'LO' indicates that 
  73. this is the LO command; the code $0C indicates TRAP #15 support with 
  74. stack parameter/result passing and TRAP #15 disk support.  This code is 
  75. used by the downloaded program to select the appropriate calling 
  76. convention when executing debugger functions.  Since some Motorola 
  77. debuggers use conventions different from 332Bug, they set a different 
  78. code in D4.
  79.  
  80.  
  81. The S-record format (refer to Appendix A) allows a specified entry point in the address field of 
  82. the S-record-block termination record.  The contents of the termination-record address field 
  83. (plus any offset address) is put into the target PC.  Thus after a download the user need only 
  84. enter G or GO instead of G <addr> or GO <addr> to execute the downloaded code. 
  85.  
  86. If a non-hex character is encountered within the data field of a data record, then that part of 
  87. the record, preceeding the non-hex character, is displayed.  This causes the 332Bug error 
  88. handler to point at the faulty character.
  89.  
  90. An error condition exists if the embedded-record checksum does not agree with the 
  91. checksum calculated by 332Bug.  An output message displays the address of the record (as 
  92. obtained from the address field of the record), the calculated checksum, and the checksum 
  93. read with the record. A copy of the record is also output.  A checksum error is a fatal error and 
  94. causes the command to abort.
  95.  
  96. When a load is in progress, each data byte is written to memory and then the contents of this 
  97. memory location are compared to the data to determine if the data is stored properly.  If for 
  98. some reason the compare fails, then an output message displays the address where the data 
  99. was to be stored, the data written, and the data read back during the compare.  This is also a 
  100. fatal error and causes the command to abort.
  101.  
  102. S-records are processed character-by-character.  So if the command aborts due to an error, 
  103. all data stored previous to the error is still in memory .
  104.  
  105. LO    Load S-Records From Host    LO
  106.  
  107.  
  108. EXAMPLES:    Suppose a host computer was used to create a program that looks like this:
  109.  
  110. 1    *  Test Program.
  111. 2    *
  112. 3    65004000    ORG    $65004000
  113. 4
  114. 5    65004000    7001    MOVEQ.L    #1,D0
  115. 6    65004002    D088    ADD.L    A0,D0
  116. 7    65004004    4A00    TST.B    D0
  117. 8    65004006    4E75    RTS
  118. 9    END
  119. ****** TOTAL ERRORS    0--
  120. ****** TOTAL WARNINGS  0--
  121.  
  122.  
  123. Then this program was converted into an S-record file named TEST.MX as follows:
  124.  
  125.  
  126. S00F00005445535453335337202001015E
  127. S30D650040007001D0884A004E7577
  128. S7056500400055
  129.  
  130.  
  131. Load this file into BCC memory for execution at address $4000 as follows:
  132.  
  133. 332Bug>LO -65000000<CR>
  134.     (blank line as the BCC waits for an 
  135. S-record)
  136.  
  137.  
  138. Enter the terminal emulator's escape key to return to the host computer's operating system 
  139. (ALT-F4 for ProComm).  A host command is then entered to send the S-record file to the port 
  140. where the BCC is connected (for MS-DOS based host computer this would be "type test.mx 
  141. >com1", where the BCC was connected to the com1 port).
  142.  
  143. After the file has been sent, the user then restarts the terminal emulation program (for MS-
  144. DOS based host computers, enter EXIT at the prompt).
  145.  
  146. Since the port number equals the current terminal, two <CR>'s are required to signal 332Bug 
  147. that the download is complete and the terminal emulation program is ready to receive any 
  148. error messages.
  149.  
  150. <CR><CR>    (signal download completion)
  151. 332>    (no error messages)
  152.  
  153. MA    Macro Define/Display    MA
  154. NOMA    Macro Delete    NOMA
  155.  
  156.  
  157. 3.16  MACRO DEFINE/DISPLAY/DELETE
  158.  
  159.     MA [<NAME>]
  160.  
  161.     NOMA [<NAME>]
  162.  
  163.  
  164. The <NAME> can be any combination of 1-8 alphanumeric characters.
  165.  
  166. The MA command allows the user to define a complex command consisting of any number of 
  167. 332Bug primitive commands with optional parameter specifications.  By simply entering the 
  168. new <NAME> plus any arguments on the command line, the stored 332Bug commands are 
  169. executed.  This allows the user to design new commands to simplify the debug process.  The 
  170. NOMA command is used to delete either a single macro or all macros.
  171.  
  172. Entering MA without specifying a macro name causes 332Bug to list all currently defined 
  173. macros and their definitions.
  174.  
  175. When MA is executed with the name of a currently defined macro, that macro definition is 
  176. displayed.
  177.  
  178. Line numbers are shown when displaying macro definitions to facilitate editing via the macro 
  179. edit (MAE) command.  If MA is executed with a valid name that does not currently have a 
  180. definition, then the 332Bug enters the macro definition mode.  In response to each macro 
  181. definition prompt "M=", enter a 332Bug command and a carriage return.  Commands entered 
  182. are not checked for syntax until the macro is executed.  To exit the macro definition mode, 
  183. enter only a carriage return (null line) in response to the prompt.  If the macro contains errors, 
  184. it can either be deleted and redefined or it can be edited with the MAE command.  A macro 
  185. containing no primitive 332Bug commands (i.e., no definition) is not accepted.
  186.  
  187. Macro definitions are stored in a string pool of fixed size.  If the string pool becomes full while 
  188. in the definition mode, the offending string is discarded, a message STRING POOL FULL, 
  189. LAST LINE DISCARDED is printed and the user is returned to the 332Bug command prompt.  
  190. This also happens if the string entered would cause the string pool to overflow.  The string 
  191. pool has a capacity of 511 characters.  The only way to add or expand macros when the 
  192. string pool is full is to either edit or delete macros.
  193.  
  194. 332Bug commands contained in macros may reference arguments supplied at invocation 
  195. time.  Arguments are denoted in macro definitions by embedding a back slash (\) followed by 
  196. a numerial.  As many as ten arguments are permitted.  A definition containing a back slash 
  197. followed by a zero would cause the first argument to that macro to be inserted in place of the 
  198. "\0" characters.
  199.  
  200. MA    Macro Define/Display    MA
  201. NOMA    Macro Delete    NOMA
  202.  
  203.  
  204. The second argument is used whenever the sequence "\1" occurs.  Entering ARGUE 3000 1 
  205. ;B on the debugger command line would execute the macro named ARGUE with the text 
  206. strings 3000, 1, and ;B replacing "\0", "\1", and "\2", respectively, within the body of the macro.
  207.  
  208. To delete a macro, execute NOMA followed by the name of the macro.  Executing NOMA 
  209. without specifying a macro name deletes all macros.  If NOMA is executed with a valid macro 
  210. name that does not have a definition, an error message is printed.
  211.  
  212.  
  213. EXAMPLES:
  214.  
  215. 332Bug>MA ABC<CR>    Define macro ABC
  216. M=MD 3000
  217. M=GO \0
  218. M=<CR>
  219. 332Bug>
  220.  
  221. 332Bug>MA DASM<CR>    Define macro DASM
  222. M=MD \0:5;DI
  223. M=<CR>
  224. 332Bug>
  225.  
  226. 332Bug>MA<CR>    List macro definitions
  227. MACRO ABC
  228. 010 MD 3000
  229. 020 GO \0
  230. MACRO DIS
  231. 010 MD \0:5;DI
  232. 332Bug>
  233.  
  234. 332Bug>DASM 427C<CR>    Execute DASM macro.
  235. 0000427C    48E78080    MOVEM.L    D0/A0,-(A7)
  236. 00004280    4280    CLR.L    D0
  237. 00004282    1018    MOVE.B    (A0)+,D0
  238. 00004284    5340    SUBQ.W    #$1,D0
  239. 00004286    12D8    MOVE.B    (A0)+,(A1)+
  240. 332Bug>
  241.  
  242. 332Bug>MA ABC<CR>    List definitions macro ABC
  243. MACRO ABC
  244. 010 MD 3000
  245. 020 GO \0
  246. 332Bug>
  247.  
  248. 332Bug>NOMA DASM<CR>    Delete macro DASM
  249. 332Bug>
  250.  
  251. MA    Macro Define/Display    MA
  252. NOMA    Macro Delete    NOMA
  253.  
  254.  
  255.  
  256. 332Bug>MA ASM<CR>    Define macro ASM
  257. M=MM \0;DI
  258. M=<CR>
  259. 332Bug>
  260.  
  261. 332Bug>MA<CR>    List all macros
  262. MACRO ABC
  263. 010 MD 3000
  264. 020 GO \0
  265. MACRO ASM
  266. 010 MD \0;DI
  267. 332Bug>
  268.  
  269. 332Bug>NOMA<CR>    Delete all macros
  270. 332Bug>
  271.  
  272. 332Bug>MA<CR>    List all macros
  273. NO MACROS DEFINED
  274. 332Bug>
  275.  
  276.  
  277. MAE    Macro Edit    MAE
  278.  
  279.  
  280. 3.17  MACRO EDIT
  281.  
  282.     MAE <NAME><DEL><LINE#><DEL>[<STRING>]
  283.  
  284. Where:
  285.  
  286.     <NAME>    any combination of 1-8 alphanumeric characters
  287.     <LINE#>    line number in range 1-999
  288.     <STRING>    replacement line to be inserted
  289.  
  290.  
  291. The MAE command permits modification of the macro named on the command line.  MAE is 
  292. line oriented and supports the following actions: insertion, deletion, and replacement.
  293.  
  294. To insert a line, specify a line number between the numbers of the lines that the new line is to 
  295. be inserted between.  The text of the new line to be inserted must also be specified on the 
  296. command line following the line number.
  297.  
  298. To replace a line, specify its line number and enter the replacement text after the line number 
  299. on the command line.
  300.  
  301. A line is deleted if its line number is specified and the replacement line is omitted.
  302.  
  303. Attempting to delete a nonexistent line results in an error message being printed.  MAE does 
  304. not permit deletion of a line if the macro consists of only that line.  NOMA must be used to 
  305. remove a macro.  To define new macros, use MA; the MAE command operates only on 
  306. previously defined macros.
  307.  
  308. Line numbers serve one purpose: specifying the location within a macro definition to perform 
  309. the editing function.  After the editing is complete, the macro definition is displayed with a new 
  310. set of line numbers.
  311.  
  312.  
  313. EXAMPLES:
  314.  
  315. 332Bug>MA<CR>    List definitions of macro ABC
  316. MACRO ABC
  317. 010 MD 3000
  318. 020 GO \0
  319. 332Bug>
  320.  
  321. 332Bug>MAE ABC 15 RD<CR>    Add a line to macro ABC
  322. MACRO ABC
  323. 010 MD 3000
  324. 020 RD    This line was inserted
  325. 030 GO \0
  326. 332Bug>
  327.  
  328. MAE    Macro Edit    MAE
  329.  
  330.  
  331. 332Bug>MAE ABC 10 MD 10+R0<CR>    Replace line 10
  332. MACRO ABC
  333. 010 MD 10+R0    This line was overwritten
  334. 020 RD
  335. 030 GO \0
  336. 332Bug>
  337.  
  338. 332Bug>MAE ABC 30<CR>    Delete line 30
  339. MACRO ABC
  340. 010 MD 10+R0
  341. 020 RD
  342. 332Bug>
  343.  
  344.  
  345. MAL    Macro Expansion Listing Enable    MAL
  346. NOMAL    Macro Expansion Listing Disable    NOMAL
  347.  
  348.  
  349. 3.18  MACRO EXPANSION LISTING ENABLE/DISABLE
  350.  
  351. The MAL command allows the user to view expanded macro lines as they are executed.  
  352. This is especially useful when errors result, as the line with the error appears on the display.
  353.  
  354. The NOMAL command is used to suppress the listing of macro lines during execution.
  355.  
  356. The use of MAL and NOMAL is a convenience for the user and in no way interacts with the 
  357. function of the macros.
  358.  
  359.  
  360. MD    Memory Display    MD
  361.  
  362.  
  363. 3.19  MEMORY DISPLAY    
  364.  
  365.     MD[S] <ADDR>[:<COUNT>|<ADDR>][; [B|W|L|S|D|X|P|DI]]
  366.  
  367. Use the MD command to display the contents of multiple memory locations.  MD accepts the 
  368. following data types:
  369.  
  370.  
  371.     Integer Data Type    Floating Point Data Types
  372.  
  373.     B - Byte    S - Single Precision
  374.     W - Word    D - Double Precision
  375.     L - Longword    X - Extended Precision
  376.         P - Packed Decimal
  377.  
  378.  
  379. The default data type is word (W).  Integer data types are always displayed in both hex and 
  380. ASCII. The DI option enables the resident MC68332 disassembler.  No other option is 
  381. allowed if DI is selected.
  382.  
  383. The optional count argument in the MD command specifies the number of data items to be 
  384. displayed, or the number of disassembled instructions to display if the disassembly option is 
  385. selected.  The default is 8 if no value for <COUNT> is entered. The default count is changed 
  386. to 128 if the S (sector) modifier is used.  After the command has completed, enter <CR> at 
  387. the prompt to re-execute the command and display the same number of lines of data 
  388. beginning at the next address.
  389.  
  390. EXAMPLE 1:
  391.  
  392. 332Bug>md C000<CR>
  393. 0000C000 2800 1942 2900 1942  2800 1842 2900 2846 (..B)..B(..B).(F
  394.  
  395. 332Bug><CR>
  396. 0000C010 FC20 0050 ED07 9F61  FF00 000A E860 F060 1..Pm..a....h'p'
  397.  
  398.  
  399.  
  400. EXAMPLE 2:  Assume the following processor state:  A2=00003500, D5=00000127.
  401.  
  402. 332Bug>md (a2,d5):&19;b<CR>
  403. 00003627 4F82 00C5 9B10 337A  DF01 6C3D 4B50 0F0F   0..E..3z_.l=KP..
  404. 00003637 31AB 80                                    1+.
  405. 332Bug>
  406.  
  407.  
  408.  
  409. MD    Memory Display    MD
  410.  
  411.  
  412. EXAMPLE 3:
  413.  
  414. 332Bug>md 5008;di<CR>
  415. 00005008    46FC2700    MOVE.W     #$2700,SR
  416. 0000500C    61FF0000023E    BSR.L    #$524C
  417. 00005012    4E7AD801    MOVEC.L    VBR,A5
  418. 00005016    41ED7FFC    LEA.L    $7FFC(A5),A0
  419. 0000501A    5888    ADDQ.L    #$4,A0
  420. 0000501C    2E48    MOVE.L    A0,A7
  421. 0000501E    2C48    MOVE.L    A0,A6
  422. 00005020    13C7FFFB003A    MOVE.B    D7,($FFFB003A).L
  423. 332Bug>
  424.  
  425.  
  426. EXAMPLE 4:
  427.  
  428. 332Bug>md 5008;d<CR>
  429. 00005000 0 3F6 44C1D0F047FC2= 2.4777000000000002 E-0003
  430. 00005008 0 423 DAEFF04800000= 1.2749000000000000 E+0011
  431. 00005010 0 000 0000000000000= 0.0000000000000000 E+0000
  432. 00005018 0 403 0000000000000= 1.6000000000000000 E+0001
  433. 00005020 0 3FF 0000000000000= 1.0000000000000000 E+0000
  434. 00005028 0 000 00000FFFFFFFF= 2.1219957904712067 E+0314
  435. 00005030 0 44D FDE9F10A8D361= 6.0200000000000000 E+0023
  436. 00005038 0 3C0 79CA10C924223= 1.5999999999999999 E+0019
  437. 332Bug>
  438.  
  439.  
  440.  
  441.  
  442. NOTE
  443.  
  444. If the address location requested is not displayed, the automatic offset register is 
  445. non-zero and has been added to the address.  See the offset (OF) command.
  446.  
  447. MM    Memory Modify    MM
  448.  
  449.  
  450. 3.20  MEMORY MODIFY
  451.  
  452.     MM <ADDR>[;[[B|W|L|S|D|X|P][A][N]]|[DI]]
  453.  
  454. Use the MM command (alias M) to examine and change memory locations.  MM accepts the 
  455. following data types:
  456.  
  457.     INTEGER DATA TYPE    FLOATING POINT DATA TYPES
  458.  
  459.     B - Byte    S - Single Precision
  460.     W - Word    D - Double Precision
  461.     L - Longword    X - Extended Precision
  462.         P - Packed Decimal
  463.  
  464.  
  465. The default data type is word.  The MM command (alias M) reads and displays the contents 
  466. of memory at the specified address and prompts the user with a question mark ( ? ). The user 
  467. may enter new data for the memory location, followed by <CR>, or may simply enter <CR>, 
  468. which leaves the contents unaltered. That memory location is closed and the next memory 
  469. location is opened.
  470.  
  471. The user may also enter one of several step control characters, either at the prompt or after 
  472. writing new data.  Enter one of the following step control characters to modify the command 
  473. execution:
  474.  
  475.     V or v    -    The next successive memory location is opened.  This is the default.  It 
  476. initializes whenever MM is executed and remains initialized until changed 
  477. by entering one of the other special characters.
  478.  
  479.     ^    -    MM backs up and opens the previous memory location.
  480.  
  481.     =    -    MM re-opens the same memory location.  This is useful for examining I/O 
  482. registers or memory locations that are changing over time).
  483.  
  484.     .    -    Terminates MM command. Control returns to 332Bug.
  485.  
  486. The N option of the MM command disables the read portion of the command.  The A option 
  487. forces alternate location accesses only, i.e. skip a byte/word/longword access per the data 
  488. type in use.
  489.  
  490.  
  491.  
  492. NOTE
  493.  
  494. If the address location requested is not displayed, the automatic offset register is 
  495. non-zero and has been added to the address.  See the offset (OF) command.
  496.  
  497.  
  498.  
  499. MM    Memory Modify    MM
  500.  
  501.  
  502. EXAMPLE 1:
  503.  
  504. 332Bug>MM 3100<CR>    Access location 3100
  505. 00003100 1234?<CR>
  506. 00003102 5678? 4321<CR>    Modify memory
  507. 00003104 9ABC? 8765^<CR>    Modify memory and backup
  508. 00003102 4321?<CR>    No change, backup still utilized
  509. 00003100 1234? abcd.<CR>    Modify memory and exit
  510.  
  511. EXAMPLE 2:
  512.  
  513. 332Bug>MM 3001;LA<CR>    Longword access to location 3001
  514. 00003001 CD432187?<CR>    (Alternate location accesses)
  515. 00003009 00068010? 68010+10=<CR>    Modify and re-open location
  516. 00003009 00068020?<CR>    No change, re-open still utilized
  517. 00003009 00068020? .<CR>    Exit MM
  518.  
  519. EXAMPLE 3:
  520.  
  521. 332Bug>MM 4000<CR>    Modify WORDs starting at $4000.
  522. 00004000 0000? 'A'<CR>    Enter ASCII 'A', right justified.
  523. 00004002 0000? 'B'<CR>    Enter ASCII 'B', right justified.
  524. 00004004 0000? 'CD'<CR>    Enter ASCII 'CD', right justified.
  525. 00004006 0000? 'EFG'<CR>    Enter ASCII 'FG', right justified.  
  526. Note the 'E' is truncated due to 
  527. right justified WORD size!
  528. 00004008 0000? .<CR>    Exit MM.
  529. 332Bug>MD 4000<CR>
  530. 00004008 0041 0042 4344 4647 0000 0000 0000 0000    .A.BCDFG........
  531. 332Bug>
  532.  
  533.  
  534. The DI option activates the one-line assembler/disassembler.  All other options are invalid if 
  535. DI is selected.  The contents of the specified memory location is disassembled and displayed 
  536. and the user prompted for an input with a question mark ( ? ).  At this point the user has three 
  537. options:
  538.  
  539. Ñ    Enter <CR>  -  This closes the present location and continues with disassembly of 
  540. the next instruction.  The instruction is unchanged.
  541.  
  542. Ñ    Enter a new source instruction followed by <CR>  -  This actuates the assembler to 
  543. assemble the new instruction and generate a disassembly of the object code 
  544. generated.
  545.  
  546. Ñ    Enter <CR>  -  This closes the present location and exits the MM command.
  547.  
  548. If a new source line is entered (second option above), the present line is erased and 
  549. replaced by the new source line.  If a hardcopy terminal is used, reconfigure port 0 for 
  550. hardcopy operation with the PF command.  In the hardcopy mode, a line feed is entered 
  551. instead of erasing the line.
  552.  
  553. MM    Memory Modify    MM
  554.  
  555.  
  556. If an error is found during assembly, the caret symbol (^) appears below the suspect field 
  557. followed by an error message.  The accessed location is redisplayed.
  558.  
  559.  
  560. Refer to Chapter 4 for additional information about the assembler.
  561.  
  562. The examples below were made in the hardcopy mode.
  563.  
  564.  
  565. EXAMPLE 3:
  566.  
  567. Assemble a new source line.
  568.  
  569. 332Bug>MM 10000;di<CR>
  570. 00010000 46FC2400    MOVE.W    #9216,SR ? divs.w -(a2),d2<CR>
  571. 00010000 85E2    DIVS.W    -(A2),D2
  572. 00010002 2400    MOVE.L    D0,D2 ?.<CR>
  573.  
  574.  
  575. EXAMPLE 4:
  576.  
  577. New source line with error.
  578.  
  579. 332Bug>MM 10008;di<CR>
  580. 00010008 4E7AD801    MOVEC.L    VBR,A5? bchg #$12,9(a5,d6))<CR>
  581. 00010008    BCHG    #$12,9(A5,D6))
  582. ---------------------------------------------------^
  583. *** Unknown Field ***
  584. 00010008 4E7AD801    MOVEC>L    VBR,A5 ?.<CR>
  585.  
  586.  
  587. EXAMPLE 5:
  588.  
  589. Step to next location and exit MM.
  590.  
  591. 332Bug>MM 1000c;di<CR>
  592. 0001000C 000000FF    OR.B    #255,D0 ?<CR>
  593. 00010010 20C9    MOVE.L    A1,(A0)+ ? .<CR>
  594. 332Bug>
  595.  
  596.  
  597. EXAMPLE 6:
  598.  
  599. 332Bug>m 7000;x<CR>
  600. 00007000 0 0000 FFFFFFFF00000000? 1 3C10 84782<CR>
  601. 0000700C 1 7FFF 00000000FFFFFFFF? 0 001A F<CR>
  602. 00007018 0 0000 FFFFFFFF00000000? 6.02E23=<CR>
  603. 00007018 0 404D FEF4F885469B0880? ^<CR>
  604. 0000700C 0 001A F000000000000000?<CR>
  605. 00007000 1 3C10 8478200000000000? .<CR>
  606. 332Bug>
  607.  
  608. MS    Memory Set    MS
  609.  
  610.  
  611. 3.21  MEMORY SET
  612.  
  613.     MS <ADDR>{Hexadecimal number}/{'string'}
  614.  
  615. Use the MS command to write data to memory starting at a specified address.  Hex numbers 
  616. are not size specific, so they can contain any number of digits (as allowed by command line 
  617. buffer size).  If an odd number of digits is entered, the least significant nibble of the last byte 
  618. accessed is unchanged.
  619.  
  620. ASCII strings are entered by enclosing them in single quotes ('string').  To include a quote as 
  621. part of the string, enter two consecutive quotes.
  622.  
  623. EXAMPLE:    Memory is initially cleared:
  624.  
  625. 332Bug>ms 25000 0123456789abcDEF 'This is ''332Bug''' 23456<CR>
  626. 332Bug>md 25000:10;w<CR>
  627. 00025000 0123 4567 89AB CDEF  5468 6973 2069 7320    .#Eg.+MoThis is
  628. 00025010 2733 3332 4275 6727  2345 6000 0000 0000    '332Bug'#E`.....
  629. 332Bug>
  630.  
  631.  
  632.  
  633.  
  634. NOTE
  635.  
  636. If the address location requested is not displayed, the automatic offset register is 
  637. non-zero and has been added to the address.  See the offset (OF) command.
  638.  
  639.  
  640. OF    Offset Registers Display/Modify    OF
  641.  
  642.  
  643. 3.22  OFFSET REGISTERS DISPLAY/MODIFY
  644.  
  645.     OF [Rn[;A]]
  646.  
  647. The OF command allows the user to access and change pseudo-registers called offset 
  648. registers.  These registers are used to simplify the debugging of relocatable and position 
  649. independent modules (refer to offset registers in paragraph 2.1.1.3).
  650.  
  651. There are 8 offset registers (R0 through R7), but only R0 through R6 can be changed.  Both 
  652. the base and top addresses of R7 is always set to 0.  This disables the automatic register 
  653. function by selecting R7 as the automatic register.
  654.  
  655. Each offset register has two values: base and top. The base is the absolute least address 
  656. used for the range declared by the offset register.  The top address is the absolute greatest 
  657. address used. When entering the base and top, the user may use either an address/address 
  658. format or an address/count format.  When specifying a count the value of count is in bytes.  If 
  659. the top address is omitted from the range, then a top address of $FFFFFFFF is the default.  
  660. The top address must equal or exceed the base address. Wrap-around is not permitted.
  661.  
  662. Command usage:
  663.  
  664.     OF    -    Display all offset registers.  An asterisk indicates which register is 
  665. the automatic register.
  666.  
  667.     OF Rn    -    Display/modify Rn.  Scroll through the registers using the same 
  668. method as the MM command.
  669.  
  670.     OF Rn;A    -    Display/modify Rn and set it as the automatic register.  The 
  671. automatic register is added to the absolute address argument of 
  672. every command except if an offset register is explicitly added.  in 
  673. the display an asterisk indicates which register is the automatic 
  674. register.
  675.  
  676. Range entry:
  677.  
  678. Ranges are entered in three formats; base address alone, base and top as a 
  679. pair of addresses, and base address followed by byte count.  Step control 
  680. characters as described in the MM (memory modify) command are supported.
  681.  
  682.  
  683. Range syntax:
  684.  
  685.     [<base address> [<del> <top address>] ] [^|v|=|.]
  686.     or
  687.     [<base address> [ :  <byte count> ] ] [^|v|=|.]
  688.  
  689. OF    Offset Registers Display/Modify    OF
  690.  
  691.  
  692. Offset register rules:
  693.  
  694. Ñ    At power-up and cold-start reset, R7 is the automatic register, and all offset 
  695. registers have both base and top addresses preset to 0.  This disables the 
  696. offset registers.
  697.  
  698. Ñ    R7 always has both base and top addresses set to 0; it cannot be changed.
  699.  
  700. Ñ    Any offset register can be set as the automatic register.
  701.  
  702. Ñ    The automatic register is always added to every absolute address argument of 
  703. every 332Bug command where an offset register is not explicitly defined (this 
  704. includes the OF command itself).  To enter an absolute address, always add 
  705. R7 to the address, i.e. +R7.
  706.  
  707. Ñ    The register commands (RD, RM) do not use the automatic register, i.e. the 
  708. program counter is always displayed/entered absolutely.  However, the RS 
  709. (register set) command does use the automatic register.
  710.  
  711. Ñ    There is always an automatic register.  To disable the effect of the automatic 
  712. register set R7 as the automatic register.  This is the default condition.
  713.  
  714.  
  715. EXAMPLES:    Display offset registers.  Shows base and top values for each 
  716. register.
  717.  
  718. 332Bug>OF<CR>
  719. R0 = 00000000 00000000 R1 = 00000000 00000000
  720. R2 = 00000000 00000000 R3 = 00000000 00000000
  721. R4 = 00000000 00000000 R5 = 00000000 00000000
  722. R6 = 00000000 00000000 R7*= 00000000 00000000
  723.  
  724.  
  725. Modify offset registers.
  726.  
  727. 332Bug>OF R0<CR>
  728. R0 = 00000000 00000000? 5000 50FF<CR>
  729. R1 = 00000000 00000000? 5100:200^<CR>    Modify and backup
  730. R0 = 00020000 000200FF? <CR>    No change, backup still 
  731. utilized
  732. R6 = 00000000 00000000? .<CR>    Exit.  Notice wrap around 
  733. to R6.
  734.  
  735.  
  736. Display location $5000.  Shows base and top values for each register.
  737.  
  738. 332Bug>M 5000;DI<CR>
  739. 00000+R0 41F95445 5354        LEA.L  ($54455354).L,A0 .<CR>
  740. 332Bug>M R0;DI <CR>
  741. 00000+R0 41F95445 5354        LEA.L  ($54455354).L,A0 .<CR>
  742. 332Bug>
  743.  
  744. OF    Offset Registers Display/Modify    OF
  745.  
  746.  
  747. Set R0 as the automatic register.
  748.  
  749. 332Bug>OF R0;A<CR>
  750. R0*=00005000 000050FF? .<CR>
  751.  
  752.  
  753. Display location 0 relative to the default offset register, (R0), i.e. absolute location $5000.
  754.  
  755. 332Bug>M 0;DI<CR>
  756. 00000+R0 41F95445 5354    LEA.L  ($54455354).L,A0 .<CR>
  757. 332Bug>
  758.  
  759.  
  760.  
  761. Display absolute location 0, override the automatic offset.
  762.  
  763. 332Bug>M 0+R7;DI <CR>
  764. 00000000 FFF8    DC.W   $FFF8 .<CR>
  765. 332Bug>
  766.  
  767. PA    Printer Attached    PA
  768. NOPA    Printer Detached    NOPA
  769.  
  770.  
  771. 3.23  PRINTER ATTACH/DETACH
  772.  
  773.     PA [<PORT>]
  774.     NOPA [<PORT>]
  775.  
  776. PA attach a printer to a specified port.  NOPA detaches a printer from a specified port.  When 
  777. the printer is attached, everything appearing on the computer terminal is echoed to the 
  778. attached printer.  If no port is specified when executing PA, the default is port 1.  NOPA 
  779. detaches all attached printers.  The port number must be in the range 0 to $1F.
  780.  
  781. If the port number specified is not currently assigned, PA displays an error message.  If 
  782. NOPA is attempted on a printer that is not currently attached, an error message is displayed.  
  783. Use the PF (port format) command to configure the port before attaching a printer to it.
  784.  
  785. RECOVERING FROM A ''HUNG''PRINTER: attached ports are not detached by exceptions 
  786. (bus errors, abort, etc).  If PA is executed using incorrect parameters, or a fault such as a 
  787. paper jam occurs, press the RESET switch on the M68332PFB Platform Board to recover 
  788. control of the printer.
  789.  
  790. EXAMPLES:
  791.  
  792. CONSOLE DISPLAY:    PRINTER OUTPUT:
  793. 332Bug>PA <CR>
  794. (attaching port 1 by default    (printer now attached)
  795.  
  796. 332Bug>HE NOPA <CR>    332Bug>HE NOPA
  797. NOPA      Printer detach    NOPA      Printer detach
  798.  
  799. 332Bug>NOPA <CR>    332Bug>NOPA
  800. (detach all attached printers)    (printer now detached)
  801. 332Bug>
  802.  
  803. PF    Port Format    PF
  804.  
  805.  
  806. 3.24  PORT FORMAT
  807.  
  808.     PF [<PORT>]
  809.  
  810. Use the PF command to display and change the serial input/output environment.  Use PF to 
  811. display a list of the current port assignments, configure a port that is already assigned, or 
  812. assign and configure a new port.  The configuration process is interactive, much like 
  813. modifying registers or memory (RM and MM commands).  An interlock is provided prior to 
  814. configuring the hardware, the user must explicitly direct PF to proceed.
  815.  
  816. Only eight ports are assigned at any given time.  The port number must be within the range 0 
  817. to $1F.
  818.  
  819.  
  820. 3.24.1  List Current Port Assignments
  821.  
  822. Executing PF without specifying a port number lists the board and port names.
  823.  
  824. EXAMPLE:
  825.  
  826. 332Bug>PF <CR>
  827. Current port assignments:  (Port #: Board name, Port name)
  828. 00: BCC, "SCI"
  829. 332Bug>
  830.  
  831. 3.24.2  Port Configuration
  832.  
  833. Use PF to primarily change baud rates, stop bits, etc.  Execute the PF command with the 
  834. desired port number to assign and configure port parameters.  Refer to paragraph 3.20.4 
  835. New Port Assignment.
  836.  
  837. When PF is executed with the number of a previously assigned port, the interactive mode is 
  838. entered immediately.  To exit from the interactive mode, enter a period by itself or following a 
  839. new value/setting.  While in the interactive mode, step control characters as described in the 
  840. MM (memory modify) command are supported.
  841.  
  842.  
  843.  
  844. EXAMPLE:    Change number of stop bits on port number 0.
  845.  
  846. 332Bug>PF 0 <CR>
  847. Baud rate [110,300,600,1200,2400,4800,9600,19200] = 9600? <CR>
  848. Even, Odd, or No Parity [E,O,N] = N? <CR>
  849. Char Width [5,6,7,8] = 8? <CR>
  850. Stop bits [1,2] = 1? 2<CR>    (new value entered)
  851.  
  852. PF    Port Format    PF
  853.  
  854.  
  855. ( the next response demonstrates reversing the prompting order )
  856.  
  857. XON/XOFF protocol [Y,N] = Y? ^ <CR>    (Backup)
  858. Stop Bits [1,2] = 2? .<CR>    (value acceptable, exit 
  859. interactive mode)
  860. OK to proceed (y/n)? Y    (Note: Carriage return not 
  861. required)
  862. 332Bug>
  863.  
  864. 3.24.3  Port Format Parameters
  865.  
  866. Port base address:
  867.  
  868.     When assigning a port, there is a set base address option.  This allows the user to 
  869. adjust the base address for different hardware configurations.  Entering no value 
  870. selects the default address.
  871.  
  872. Baud rate:
  873.  
  874.     Select the baud rate:  110, 300, 600, 1200, 2400, 4800, 9600, 19200.
  875.  
  876. Parity type:
  877.  
  878.     Set parity:  even (E), odd (0), or disabled (N).
  879.  
  880.  
  881. Character width:
  882.  
  883.     Select 5-, 6-, 7-, or 8-bit characters.
  884.  
  885. Number of stop bits:
  886.  
  887.     Only 1 and 2 stop bits are supported.
  888.  
  889. Automatic software handshake:
  890.  
  891.     Current drivers have the capability of responding to XON/XOFF characters sent to the 
  892. debugger ports. Receiving a XOFF causes a driver to cease transmission until a XON 
  893. character is received.  None of the current drivers utilize FIFO buffering, therefore, 
  894. none initiate an XOFF condition.
  895.  
  896. Software handshake character values:
  897.  
  898.     The values used by a port for XON and XOFF may be defined as any 8-bit value. ASCII 
  899. control characters or hexadecimal values are accepted.
  900.  
  901. PF    Port Format    PF
  902.  
  903.  
  904.  
  905. NOTE
  906.  
  907. Not all combinations of parity type, character width, and stop bits 
  908. are supported for the BCC "SCI" port, 00.  See Appendix C for 
  909. details.
  910.  
  911.  
  912. 3.24.4  New Port Assignment
  913.  
  914. PF supports a set of drivers for a number of different boards and ports.  To assign one of 
  915. these to a previously unassigned port number, execute the command with that port number.  
  916. A message is then printed to indicate that the port is unassigned and a prompt issued to 
  917. request the type of serial communication device.  Pressing RETURN at this point lists the 
  918. currently supported boards and ports.  Once the name of the board is entered, the port name 
  919. is requested at the prompt.  After the port name is entered, PF prompts the user through the 
  920. port configuration process.
  921.  
  922. Once a valid port is specified, default parameters are supplied.  The base address of this new 
  923. port is one of these default parameters.  Before entering the interactive configuration mode, 
  924. the user is allowed to change the port base address.  Press RETURN to retain the present 
  925. base address.
  926.  
  927. If the configuration of the new port is not fixed, then the system enters the interactive 
  928. configuration mode.  Refer to paragraph 3.20.2 regarding configuring assigned ports.  If the 
  929. new port has a fixed configuration, then PF issues the ''OK to proceed (Y/N)?'' prompt.
  930.  
  931. The user must enter the letter ''Y'' at the ''OK to proceed (Y/N)?'' prompt before PF initializes 
  932. the hardware.  Pressing BREAK any time prior to this step or responding with the letter ''N'' 
  933. at the prompt leaves the port unassigned. This is only true of ports not previously assigned.
  934.  
  935.  
  936. EXAMPLE:  Assigning port 1.
  937.  
  938. 332Bug>PF 1<CR>
  939. Logical unit $01 unassigned
  940. Name of board?<CR>    (cause PF to list supported boards,
  941.     ports)
  942. Boards and ports supported:
  943. BCC: SCI
  944. MC68681: A, B
  945. Name of board? mc68681<CR>    (Note: Upper or lowercase accepted)
  946. Name of port? a<CR>
  947. Port base address = $FFFFE000?<CR>
  948. Baud rate [110, 300, 600, 1200, 2400, 4800, 9600, 19200] = 9600? .<CR>
  949. OK to proceed (Y/N)? n    (Note: Aborted, no hardware!)
  950. 332Bug>
  951.  
  952. RD    Register Display    RD
  953.  
  954.  
  955. 3.25  REGISTER DISPLAY
  956.  
  957.     RD {[+|-|=][<DNAME>][/]}{[+|-|=][<REG1>[-<REG2>]][/]}
  958.  
  959. Use the RD command to display the target state, that is, the register state associated with the 
  960. target program (refer to the GO command).  The target PC points to the instruction to be 
  961. disassembled and displayed.  Internally, a register mask specifies which registers are 
  962. displayed when RD <CR> is executed.  At reset time, this mask is set to display the MPU 
  963. registers only.  Change this register mask with the RD command.  Optional arguments allow 
  964. the user the capability to enable or disable the display of any register or group or registers.  
  965. This is useful for showing only the registers of interest, minimizing unnecessary data on the 
  966. screen.
  967.  
  968. The arguments are:
  969.  
  970.     +    Add a device or register range
  971.  
  972.     -    Remove a device or register range, except when used between two 
  973. register names.  In which case it indicates a register range.
  974.  
  975.     =    Set a device or register range.
  976.  
  977.     /    Use this delimiter between device names and register ranges.
  978.  
  979.     <REG1>    Indicates the first register in a range of registers.
  980.  
  981.     <REG2>    Indicates the last register in a range of registers.
  982.  
  983.     <DNAME>    Indicates a device name.  Use <DNAME> to enable or disable all 
  984. device registers for:
  985.  
  986.     MPU    Microprocessor Unit
  987.  
  988.  
  989. RD    Register Display    RD
  990.  
  991.  
  992. Observe the following when specifying any arguments in the command line:
  993.  
  994. Ñ    The qualifier is applied to the next register range only.
  995.  
  996. Ñ    If no qualifier is specified, a + qualifier is assumed.
  997.  
  998. Ñ    All device names should precede register names.
  999.  
  1000. Ñ    The command line arguments are parsed from left to right, with each field 
  1001. being processed after parsing, thus, the sequence in which qualifiers and 
  1002. registers are organized has an impact on the resultant register mask.
  1003.  
  1004. Ñ    When specifying a register range, <REG1> and <REG2> do not have to be of 
  1005. the same class, i.e. D0 - A7.
  1006.  
  1007. Ñ    The register mask used by RD is also used by all the exception handler 
  1008. routines, including the trace and breakpoint exception handlers.
  1009.  
  1010.  
  1011. The MPU registers in ordering sequence are:
  1012.  
  1013. Number of
  1014. registers
  1015.  
  1016.     10    System Registers    (PC,SR,USP,SSP,VBR,SFC,DFC)
  1017.     8    Data Registers    (D0-D7)
  1018.     8    Address Registers    (A0-A7)
  1019.  
  1020.  
  1021.  
  1022. RD    Register Display    RD
  1023.  
  1024.  
  1025. EXAMPLE 1:
  1026.  
  1027.  
  1028. 332Bug>rd<CR>
  1029. PC    =00003000    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1030. SFC    =0=F0    DFC    =0=F0    USP    =0000F830    SSP*    =00004000
  1031. D0    =00000000    D1    =00000000    D2    =00000000    D3    =00000000
  1032. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1033. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1034. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1035. 00003000    424F    DC.W    $424F
  1036. 332Bug>
  1037.  
  1038. NOTES:
  1039.  
  1040. An asterisk following a stack pointer name indicates an active stack pointer.  To 
  1041. facilitate reading the status register it includes a mnemonic portion.  These 
  1042. mnemonics are:
  1043.  
  1044. Trace Bits    The trace bits (T0, T1) control the trace feature of the MC68332 
  1045. MCU and are displayed by the mnemonic as shown in the 
  1046. following table.  The user should not modify these bits when 
  1047. executing user programs.
  1048.  
  1049.     T1    T0    Mnemonic    Description
  1050.  
  1051.     0    0    TR:OFF    Trace off
  1052.     0    1    TR:CHG    Trace on change of flow
  1053.     1    0    TR:ALL    Trace all states
  1054.     1    1    TR:INV    Invalid mode
  1055.  
  1056.  
  1057. S Bits:    The bit name (S) appears if the supervisor/user state bit is set, 
  1058. otherwise a period (.) indicates it is cleared.
  1059.  
  1060. Interrupt  Mask:    A number from 0 to 7 indicates the current processor priority level.
  1061.  
  1062. Condition Codes:    The bit name (X, N, Z, V, C) appears if the respective bit is set, 
  1063. otherwise a period (.) indicates it is cleared.
  1064.  
  1065. RD    Register Display    RD
  1066.  
  1067.  
  1068. The source and destination function code registers (SFC, DFC) include a two character 
  1069. mnemonic:
  1070.  
  1071.  
  1072.     FUNCTION CODE    MNEMONIC    DESCRIPTION
  1073.  
  1074.     0    F0    Undefined
  1075.     1    UD    User Data
  1076.     2    UP    User Program
  1077.     3    F3    Undefined
  1078.     4    F4    Undefined
  1079.     5    SD    Supervisor Data
  1080.     6    SP    Supervisor Program
  1081.     7    CS    CPU Space
  1082.  
  1083.  
  1084.  
  1085.  
  1086. EXAMPLE 2:    To set the display to D6 and A3 only.
  1087.  
  1088.  
  1089. 332Bug>RD =D6/A3<CR>
  1090. D6   =00000000 A3   =00000000
  1091. 00003000 4AFC             ILLEGAL
  1092. 332Bug>
  1093.  
  1094. Note that the above sequence sets the display to D6 only and then adds register A3 to the 
  1095. display.
  1096.  
  1097.  
  1098. EXAMPLE 3: To restore all the MPU registers.
  1099.  
  1100.  
  1101. 332Bug>rd +mpu<CR>
  1102. PC    =00003000    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1103. SFC    =0=F0    DFC    =0=F0    USP    =00003830    SSP*    =00004000
  1104. D0    =00000000    D1    =00000000    D2    =00000000    D3    =00000000
  1105. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1106. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1107. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1108. 00003000 4AFC             ILLEGAL
  1109. 332Bug>
  1110.  
  1111. Note that an equivalent command is ''RD +PC-A7'' or ''RD =PC-A7''.
  1112.  
  1113. RESET    Cold/Warm Reset    RESET
  1114.  
  1115.  
  1116. 3.26  COLD/WARM RESET
  1117.  
  1118.     RESET
  1119.  
  1120. Use the RESET command to specify the reset operation level when a RESET exception is 
  1121. detected by the processor.  Press the RESET pushbutton on the M68332PFB platform board 
  1122. to generate a reset exception.
  1123.  
  1124. Two RESET levels are available:
  1125.  
  1126. COLD    -    This is the standard mode of operation, and is the default at power-
  1127. up.  In this mode all the static variables are initialized every time a 
  1128. reset is executed.
  1129.  
  1130. WARM    -    In this mode all the static variables are preserved when a reset 
  1131. exception occurs.  This is convenient for keeping breakpoints, offset 
  1132. register values, the target register state, and any other static 
  1133. variables in the system.
  1134.  
  1135.  
  1136. EXAMPLE:
  1137.  
  1138. 332Bug>RESET<CR>
  1139. Cold/Warm Start = C (C/W)? W    Set to warm start
  1140. 332Bug>
  1141.                                 Press the RESET pushbutton
  1142. 332Bug Debugger/Diagnostics - Version 1.01
  1143.     (C) Copyright 1989 by Motorola Inc.
  1144. Warm Start
  1145. 332Bug>
  1146.  
  1147.  
  1148. RM    Register Modify    RM
  1149.  
  1150.  
  1151. 3.27  REGISTER MODIFY
  1152.  
  1153.     RM <REG>
  1154.  
  1155. Use the RM command to display and change the target registers.  The RM command 
  1156. functions in essentially the same way as the MM command, and the same step control 
  1157. characters are used to control the display/change session.  Refer to the MM command.
  1158.  
  1159. EXAMPLE 1:
  1160.  
  1161. 332Bug>RM D4<CR>
  1162. D5   =12345678? ABCDEF^<CR>    Modify register and backup
  1163. D4   =00000000? 3000.<CR>    Modify register and exit
  1164. 332Bug>
  1165.  
  1166.  
  1167. EXAMPLE 2:
  1168.  
  1169. 332Bug>rm sfc<CR>
  1170. SFC  =7=CS  ? 1=<CR>    Modify register and re-open
  1171. SFC  =1=UD  ? .<CR>    Exit
  1172. 332Bug>
  1173.  
  1174.  
  1175. RS    Register Set    RS
  1176.  
  1177.  
  1178. 3.28  REGISTER SET
  1179.  
  1180.     RS <REG>[<EXP>][;A]
  1181.  
  1182. Use the RS command to display or change a single target register.  The default offset register 
  1183. value is always added to <EXP> unless overridden by specifically including an offset register.  
  1184. See the OF (offset register) command.
  1185.  
  1186. The ;A option is only valid when <REG> is an offset register, i.e. R0 - R7.  Use the ;A option to 
  1187. set <REG> as the automatic register.  If R7 is specified, no <EXP> is allowed (R7 cannot be 
  1188. changed).  See the OF (offset register) command.
  1189.  
  1190.  
  1191.  
  1192. EXAMPLE 1:
  1193.  
  1194. 332Bug>RS PC 40*1000+4<CR>
  1195. PC   =00040004
  1196. 332Bug>
  1197.  
  1198.  
  1199.  
  1200. EXAMPLE 2:
  1201.  
  1202. 332Bug>OF R4;A<CR>
  1203. R4*00000000 00000000? 4000 4FFF<CR>    Set up automatic offset register 
  1204.     R4.
  1205. 332Bug>RS PC 124<CR>
  1206. PC   =00004124    Set PC=$124+R4.
  1207. 332Bug>RS A4 32A<CR>
  1208. A4   =0000432A    Set A4=$32A+R4.
  1209. 332Bug>RS A5 400+R7<CR>
  1210. A5   =00000400    Set A5 equal to absolute 
  1211. location $400 ($400+R7).
  1212. 332Bug>
  1213.  
  1214.  
  1215. SD    Switch Directories    SD
  1216.  
  1217.  
  1218. 3.29  SWITCH DIRECTORIES
  1219.  
  1220.     SD
  1221.  
  1222. Use the SD command to toggle between the debugger directory and the diagnostic directory.
  1223.  
  1224. Use the HE (Help) command to list the current directory commands.
  1225.  
  1226. Directory structure allows access to the debugger commands from either directory but the 
  1227. diagnostic commands are only available from the diagnostic directory.
  1228.  
  1229. EXAMPLE 1:
  1230.  
  1231. 332Bug>SD<CR>
  1232. 332Diag>    ( The user has changed from the debugger    )
  1233.     ( directory to the diagnostic directory,     )
  1234.     ( as can be seen by the ''332Diag>''    )
  1235.     ( prompt    )
  1236.  
  1237.  
  1238. EXAMPLE 2:
  1239.  
  1240. 332Diag>SD<CR>
  1241. 332Bug>    ( The user is now back in the debugger    )
  1242.     ( directory.    )
  1243.  
  1244. T    Trace    T
  1245.  
  1246.  
  1247. 3.30  TRACE
  1248.  
  1249.     T [<COUNT>]
  1250.  
  1251. Use the T command to execute one instruction at a time and display the target state after 
  1252. execution.  T starts tracing at the address in the target PC.  The optional count field specifies 
  1253. the number of instructions to be traced before returning control to 332Bug.  The count field 
  1254. default is 1.  As each instruction is traced, a register display printout is generated.
  1255.  
  1256. During tracing, breakpoints in ROM or write protected memory are monitored (but not 
  1257. inserted) for all trace commands which allow the use of breakpoints in ROM or write protected 
  1258. memory.  Control is returned to 332Bug if a breakpoint with 0 count is encountered.
  1259.  
  1260. Trace functions are implemented with the trace bits (T0, T1) in the MC68332 MCU device 
  1261. status register.  Do not modify trace bits (T0, T1) while using the trace commands.  Because 
  1262. the trace functions are implemented using the hardware trace bits in the MC68332 MCU, 
  1263. code in ROM can be traced.  During trace mode, breakpoints are monitored and their counts 
  1264. decremented when the corresponding instruction with breakpoint is traced.  This allows 
  1265. breakpoints to work in ROM, but only in the trace mode.
  1266.  
  1267. EXAMPLE:    (The following program resides at location $7000)
  1268.  
  1269. 332Bug>MD 7000;DI<CR>
  1270. 00007000 2200    MOVE.L    D0,D1
  1271. 00007002 4282    CLR.L    D2
  1272. 00007004 D401    ADD.B    D1,D2
  1273. 00007006 E289    LSR.L    #$1,D1
  1274. 00007008 66FA    BNE.B    $7004
  1275. 0000700A E20A    LSR.B    #$1,D2
  1276. 0000700C 55C2    SCS.B    D2
  1277. 0000700E 60FE    BRA.B    $700E
  1278. 332Bug>
  1279.  
  1280.  
  1281. Initialize PC and D0:
  1282.  
  1283. 332Bug>RM PC<CR>
  1284. PC   =00008000 ? 7000.<CR>
  1285.  
  1286. 332Bug>RM D0 <CR>
  1287. D0   =00000000 ? 8F4IC.<CR>
  1288.  
  1289.  
  1290. T    Trace    T
  1291.  
  1292.  
  1293. Display target registers and trace one instruction:
  1294.  
  1295. 332Bug>RD<CR>
  1296. PC    =00007000    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1297. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1298. D0    =0008F41C    D1    =00000000    D2    =002003A2    D3    =00000000
  1299. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1300. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1301. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1302. 00007000 2200               MOVE.L  D0,D1
  1303.  
  1304. 332Bug>T<CR>
  1305. PC    =00007002    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1306. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1307. D0    =0008F41C    D1    =0008F41C    D2    =002003A2    D3    =00000000
  1308. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1309. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1310. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1311. 00007002 4282               CLR.L   D2
  1312. 332Bug>
  1313.  
  1314.  
  1315. Trace next instruction:
  1316.  
  1317. 332Bug><CR>
  1318. PC    =00007004    SR    =2704=TR:OFF_S_7_..Z..    VBR    =00000000
  1319. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1320. D0    =0008F41C    D1    =0008F41C    D2    =00000000    D3    =00000000
  1321. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1322. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1323. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1324. 00007004 D401               ADD.B   D1,D2
  1325. 332Bug>
  1326.  
  1327.  
  1328. T    Trace    T
  1329.  
  1330.  
  1331. Trace the next two instructions:
  1332.  
  1333. 332Bug>T 2<CR>
  1334. PC    =00007006    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1335. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1336. D0    =0008F41C    D1    =0008F41C    D2    =0000001C    D3    =00000000
  1337. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1338. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1339. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1340. 00007006 E289               LSR.L   #$1,D1
  1341. PC    =00007008    SR    =2700=TR:OFF_S_7_ .....    VBR    =00000000
  1342. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1343. D0    =0008F41C    D1    =00047A0E    D2    =0000001C    D3    =00000000
  1344. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1345. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1346. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1347. 00007008 66FA               BNE.B   $7004
  1348. 332Bug>
  1349.  
  1350. TC    Trace On Change Of Control Flow    TC
  1351.  
  1352.  
  1353. 3.31  TRACE ON CHANGE OF CONTROL FLOW
  1354.  
  1355.     TC [<COUNT>]
  1356.  
  1357. Use the TC command to start execution at the address in the target PC.   Tracing begins at 
  1358. detection of an instruction that causes a change of control flow, such as Bcc, JSR, BSR, RTS, 
  1359. etc.  Execution is in real time until a change of flow instruction is encountered.  The optional 
  1360. count field specifies the number of change of flow instructions to be traced before returning 
  1361. control to 332Bug.  The optional count field default is 1.  Register display printout only occurs 
  1362. when a change of control flow occurs.
  1363.  
  1364. During tracing, breakpoints in ROM or write protected memory are monitored (but not 
  1365. inserted) for all trace commands which allow the use of breakpoints.  Note that the TC 
  1366. command recognizes a breakpoint only if it is at a change of flow instruction.  Control is 
  1367. returned to 332Bug if a breakpoint with 0 count is encountered.  See the trace (T) command 
  1368. for more details.
  1369.  
  1370. The trace functions are implemented with the trace bits (T0, T1) in the MC68332 MCU device 
  1371. status register.  Do not modify the trace bits (T0, T1) while using the trace commands.  
  1372. Because the trace functions are implemented using the hardware trace bits in the MC68332 
  1373. MCU, code in ROM can be traced.  During trace mode, breakpoints are monitored and their 
  1374. counts decremented when the corresponding instruction with breakpoint is traced.  This 
  1375. allows breakpoints to work in ROM, but only in the trace mode.
  1376.  
  1377. EXAMPLE:  (The following program resides at location $7000)
  1378.  
  1379. 332Bug>MD 7000;DI<CR>
  1380. 00007000 2200    MOVE.L    D0,D1
  1381. 00007002 4282    CLR.L    D2
  1382. 00007004 D401    ADD.B    D1,D2
  1383. 00007006 E289    LSR.L    #$1,D1
  1384. 00007008 66FA    BNE.B    $7004
  1385. 0000700A E20A    LSR.B    #$1,D2
  1386. 0000700C 55C2    SCS.B    D2
  1387. 0000700E 60FE    BRA.B    $700E
  1388. 332Bug>
  1389.  
  1390. Initialize PC and D0:
  1391.  
  1392. 332Bug>RM PC <CR>
  1393. PC    =00008000 ? 7000.<CR>
  1394.  
  1395. 332Bug>RM D0 <CR>
  1396. D0    =00000000 ? 8F41C.<CR>
  1397.  
  1398. TC    Trace On Change Of Control Flow    TC
  1399.  
  1400.  
  1401. Trace on change of flow:
  1402.  
  1403. 332Bug>TC<CR>
  1404. 00007008 66FA                BNE.B  $7004
  1405. PC    =00007004    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1406. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1407. D0    =0008F41C    D1    =00047A0E    D2    =0000001C    D3    =00000000
  1408. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1409. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1410. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1411. 00007004 D401                ADD.B  D1,D2
  1412. 332Bug>
  1413.  
  1414.  
  1415. Note that  the above display also shows the change of flow instruction.
  1416.  
  1417. TM    Transparent Mode    TM
  1418.  
  1419.  
  1420. 3.32  TRANSPARENT MODE
  1421.  
  1422.     TM [<PORT>][<ESCAPE>]
  1423.  
  1424. The TM command connects the console serial port and the host port together, allowing the 
  1425. user to communicate with a host computer.  A message displayed by TM shows the current 
  1426. escape character, i.e., the character used to exit the transparent mode.  The two ports remain 
  1427. connected until the escape character is received by the console port.  The escape character 
  1428. is not transmitted to the host and at power up or reset is initialized to $01=^A.
  1429.  
  1430. The optional port number allows the user to specify which port is the host port.  If the port 
  1431. number is omitted the default is port 1.  The port number must be within the range 0 to $1F.
  1432.  
  1433. Ports do not have to have the same baud rate, but for reliable operation the terminal port 
  1434. baud rate should be equal to or greater than the host port baud rate.  Use the PF command 
  1435. to change baud rates.
  1436.  
  1437. The optional escape argument allows the user to specify the exit character.  Use one of three 
  1438. formats:
  1439.  
  1440.     ascii code    :    $03    Set escape character to ^C
  1441.     ascii character    :    'c    Set escape character to c
  1442.     control character    :    ^C    Set escape character to ^C
  1443.  
  1444.  
  1445. If the port number is omitted and the escape argument is entered as a numeric value, 
  1446. precede the escape argument with a comma to distinguish it from a port number.
  1447.  
  1448. Example 1:
  1449.  
  1450. 332Bug>TM<CR>    Enter TM
  1451. Escape character:  $01=^ A    Exit code is always displayed
  1452. <^A>    Exit transparent mode
  1453.  
  1454. Example 2:
  1455.  
  1456. 332Bug>TM ^g<CR>    Enter TM and set escape character
  1457. Escape character:  $07=^ G    to ^ G
  1458. <^G>    Exit transparent mode
  1459. 332Bug>
  1460.  
  1461. TT    Trace To Temporary Breakpoint    TT
  1462.  
  1463.  
  1464. 3.33  TRACE TO TEMPORARY BREAKPOINT
  1465.  
  1466.     TT <ADDR>
  1467.  
  1468. Use the TT command to set a temporary breakpoint at a specified address and trace until 
  1469. encountering a 0 count breakpoint.  The temporary breakpoint is then removed (TT is 
  1470. analogous to the GT command) and control is returned to 332Bug.  Tracing starts at the 
  1471. target PC address.  As each instruction is traced, a register display printout is generated.
  1472.  
  1473. During tracing, breakpoints in ROM or write protected memory are monitored (but not 
  1474. inserted) for all trace commands which allow the use of breakpoints.  Control is returned to 
  1475. 332Bug if a breakpoint with 0 count is encountered.  See the trace (T) command for more 
  1476. details.
  1477.  
  1478. The trace functions are implemented with the trace bits (T0, T1) in the MC68332 status 
  1479. register.  Do not modify trace bits (T0, T1) while using the trace commands.  Because the 
  1480. trace functions are implemented using the hardware trace bits in the MC68332 MCU, code in 
  1481. ROM can be traced.  During trace mode, breakpoints are monitored and their counts 
  1482. decremented when the corresponding instruction with breakpoint is traced.  This allows 
  1483. breakpoints to work in ROM, but only in the trace mode.
  1484.  
  1485. EXAMPLE:    (The following program resides at location $7000)
  1486.  
  1487. 332Bug>MD 7000;DI<CR>
  1488. 00007000 2200    MOVE.L    D0,D1
  1489. 00007002 4282    CLR.L    D2
  1490. 00007004 D401    ADD.B    D1,D2
  1491. 00007006 E289    LSR.L    #$1,D1
  1492. 00007008 66FA    BNE.B    $7004
  1493. 0000700A E20A    LSR.B    #$1,D2
  1494. 0000700C 55C2    SCS.B    D2
  1495. 0000700E 60FE    BRA.B    $700E
  1496. 332Bug>
  1497.  
  1498.  
  1499. Initialize PC and D0:
  1500.  
  1501. 332Bug>RM PC<CR>
  1502. PC    =00008000 ? 7000.<CR>
  1503.  
  1504. 332Bug>RM D0<CR>
  1505. D0    =00000000 ? 8F41C.<CR>
  1506.  
  1507. TT    Trace To Temporary Breakpoint    TT
  1508.  
  1509.  
  1510. Trace to temporary breakpoint:
  1511.  
  1512. 332Bug>TT 7006<CR>
  1513. PC    =00007002    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1514. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1515. D0    =0008F41C    D1    =0008F41C    D2    =00100200    D3    =00000000
  1516. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1517. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1518. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1519. 00007002 4282               CLR.L   D2
  1520. PC    =00007004    SR    =2704=TR:OFF_S_7_..Z..    VBR    =00000000
  1521. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1522. D0    =0008F41C    D1    =0008F41C    D2    =00000000    D3    =00000000
  1523. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1524. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1525. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1526. 00007004 D401               ADD.B   D1,D2
  1527. At Breakpoint
  1528. PC    =00007006    SR    =2700=TR:OFF_S_7_.....    VBR    =00000000
  1529. SFC    =0=F0    DFC    =0=F0    USP    =0000382C    SSP*    =00004000
  1530. D0    =0008F41C    D1    =0008F41C    D2    =0000001C    D3    =00000000
  1531. D4    =00000000    D5    =00000000    D6    =00000000    D7    =00000000
  1532. A0    =00000000    A1    =00000000    A2    =00000000    A3    =00000000
  1533. A4    =00000000    A5    =00000000    A6    =00000000    A7    =00004000
  1534. 00007006 E289               LSR.L   #$1,D1
  1535. 332Bug>
  1536.  
  1537. VE    Verify S-Records Against Memory    VE
  1538.  
  1539.  
  1540. 3.34  VERIFY S-RECORDS AGAINST MEMORY
  1541.  
  1542.     VE [<PORT>][<ADDR>][;<X/-C>][=<text>]
  1543.  
  1544. VE is identical to the LO command with the exception that data is not stored to memory but 
  1545. merely compared to the contents of memory.
  1546.  
  1547. The VE command accepts serial data from a host system in the form of a Motorola S-records 
  1548. file and compares it to data already in memory.  If the data does not compare, then the user is 
  1549. alerted via information sent to the terminal screen.
  1550.  
  1551. The optional port number allows the user to specify which is the download port.  If the port 
  1552. number is omitted the default is port 0.  The port number must be within the range 0 to $1F.
  1553.  
  1554. The BCC default hardware configuration consists of one I/O port; P4 on the BCC or P9 on the 
  1555. PFB.  This limits the user to one host computer running a terminal emulation program.  To 
  1556. send S-records, the user must escape out of the terminal emulation program because the 
  1557. host computer can not perform terminal emulation and send S-records at the same time.  
  1558. When the host is not in terminal emulation mode, all status messages from 332Bug would be 
  1559. lost.  Thus the user must press <CR> twice after re-entering the terminal emulation program 
  1560. to signal 332Bug that status messages can now be sent.
  1561.  
  1562. The optional <ADDR> field allows the user to enter an offset address which is added to the 
  1563. address contained in the record address field.  This causes the records to be compared to 
  1564. memory at different locations than would normally occur.  The contents of the automatic offset 
  1565. register are not added to the S-record addresses.  If the address is in the range $0 to $1F and 
  1566. the port number is omitted, precede the address with a comma to distinguish it from a port 
  1567. number.
  1568.  
  1569. The optional text field, entered after the equals sign (=), is sent to the host before 332Bug 
  1570. begins to look for S-records at the host port. This allows the user to send a command to the 
  1571. host device to initiate the download.  Do not delimited text with quote marks.  The text follows 
  1572. the equals sign and terminates with a carriage return. If the host is operating full duplex, the 
  1573. string echoes back to the host port and appears on the user's terminal screen.
  1574.  
  1575. Some host systems echo all received characters so the text string is sent to and received 
  1576. from the host one character at a time.  After the entire command is sent to the host, VE looks 
  1577. for an LF character from the host signifying the end of the echoed command.  No data records 
  1578. are processed until LF is received.  If the host system does not echo characters, VE still looks 
  1579. for an LF character before data records are processed.  For this reason it is required in 
  1580. situations where the host system does not echo characters that the first record transferred by 
  1581. the host system be a header record.  The header record is not used, but the LF after the 
  1582. header record serves to break VE out of the loop so that data records are processed.
  1583.  
  1584.  
  1585. VE    Verify S-Records Against Memory    VE
  1586.  
  1587.  
  1588. Other VE options are:
  1589.  
  1590.     -C option    -    Ignore checksum.  A checksum for the data contained within an S-Record is 
  1591. calculated as the S-record is read in at the port. Normally, this calculated 
  1592. checksum is compared to the checksum contained within the S-Record and 
  1593. if the compare fails, an error message is sent to the screen.  If this option is 
  1594. selected, the comparison is not made.
  1595.  
  1596.     X option    -    Echo. This option echoes the S-records to the user's terminal as they are 
  1597. read in at the host port.  Do not use this option when port 0 is specified.
  1598.  
  1599.  
  1600. During a verify operation S-record data is compared to memory.  Verification begins with the 
  1601. address contained in the S-record address field (plus the offset address).  If the verification 
  1602. fails, then the non-comparing record is set aside until the verify is complete and then it is 
  1603. displayed on the screen.  If three non-comparing records are encountered in the course of a 
  1604. verify operation, then the command is aborted.
  1605.  
  1606. If a non-hex character is encountered within the data field, then the received portion of the 
  1607. record is printed to the screen and 332Bug's error handler points to the faulty character.
  1608.  
  1609. An error condition exists if the embedded checksum of a record does not agree with the 
  1610. checksum calculated by 332Bug.  A message is displayed showing the address of the record 
  1611. (as obtained from the address field of the record), the calculated checksum, and the 
  1612. checksum read with the record. A copy of the record is also output.  This is a fatal error and 
  1613. causes the command to abort.
  1614.  
  1615. EXAMPLES:
  1616.  
  1617. This short program was developed on a host system.
  1618.  
  1619.     1        * Test Program
  1620.     2        *
  1621.     3    65004000    ORG    $65004000
  1622.     4
  1623.     5    65004000 7001    MOVEQ.L    #1,D0
  1624.     6    65004002 D088    ADD.L    A0,D0
  1625.     7    65004004 4A00    TST.B    D0
  1626.     8    65004006 4E75    RTS
  1627.     9    END
  1628. ****** TOTAL ERRORS    0--
  1629. ****** TOTAL WARNINGS    0--
  1630.  
  1631. VE    Verify S-Records Against Memory    VE
  1632.  
  1633.  
  1634. Then converted into an S-Record file named TEST.MX as follows:
  1635.  
  1636. S00A0000544553542E4D58E2
  1637. S30D650040007001D0884A004E7577
  1638. S7056500400055
  1639.  
  1640.  
  1641. This file was downloaded into memory using "LO -65000000" at address $4000.  The 
  1642. program may be examined in memory using the MD (memory display) command.
  1643.  
  1644.  
  1645. 332Bug>MD 4000:4;DI<CR>
  1646. 00004000 7001    MOVEQ.L    #$1,D0
  1647. 00004002 D088    ADD.L    A0,D0
  1648. 00004004 4A00    TST.B    D0
  1649. 00004006 4E75    RTS
  1650. 332Bug>
  1651.  
  1652. To ensure the program has not been destroyed in memory, use the VE command to perform 
  1653. a verification.
  1654.  
  1655. 332Bug>VE -65000000<CR>
  1656.     (blank line as the BCC waits for an 
  1657. S-record)
  1658.  
  1659.  
  1660. Enter the terminal emulator's escape key to return to the host computer's operating system 
  1661. (ALT-F4 for ProComm).  A host command is then entered to send the S-record file to the port 
  1662. where the BCC is connected (for MS-DOS based host computer this would be "type test.mx 
  1663. >com1", where the BCC was connected to the com1 port).
  1664.  
  1665. After the file has been sent, the user then restarts the terminal emulation program (for MS-
  1666. DOS based host computers, enter EXIT at the prompt).
  1667.  
  1668. Since the port number equals the current terminal, two <CR>'s are required to signal 332Bug 
  1669. that verification is complete and the terminal emulation program is ready to receive the status 
  1670. message.
  1671.  
  1672. <CR><CR>    (signal verfication complete)
  1673. Verify passes.
  1674. 332Bug>
  1675.  
  1676.  
  1677. The verification passes. The program stored in memory was the same as that in the 
  1678. downloaded S-record file.
  1679.  
  1680. VE    Verify S-Records Against Memory    VE
  1681.  
  1682.  
  1683. Now change the program in memory and perform the verification again.
  1684.  
  1685.  
  1686. 332Bug>M 4002<CR>
  1687. 00004002 D088 ? D089.<CR>
  1688.  
  1689. 332Bug>VE -65000000<CR>
  1690.     (blank line as the BCC waits for an 
  1691. S-record)
  1692.  
  1693.  
  1694. Enter the terminal emulator's escape key to return to the host computer's operating system 
  1695. (ALT-F4 for ProComm).  A host command is then entered to send the S-record file to the port 
  1696. where the BCC is connected (for MS-DOS based host computer this would be "type test.mx 
  1697. >com1", where the BCC was connected to the com1 port).
  1698.  
  1699. After the file has been sent, the user then restarts the terminal emulation program (for MS-
  1700. DOS based host computers, enter EXIT at the prompt).
  1701.  
  1702. Since the port number equals the current terminal, two <CR>'s are required to signal 332Bug 
  1703. that verification is complete and the terminal emulation program is ready to receive the status 
  1704. message.
  1705.  
  1706. <CR><CR>    (signal verification completion)
  1707.  
  1708. S30D65004000------88--------77    (record did not verify)
  1709. 332Bug>
  1710.  
  1711. The byte which was changed in memory does not compare with the corresponding byte in 
  1712. the S-record.
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.